ISO 15765-2
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
ISO 15765-2는 도로 차량에서 CAN(Controller Area Network)을 통한 진단 통신(DoCAN)의 전송 프로토콜 및 네트워크 계층 서비스에 대한 표준이다. 이 표준은 단일 프레임, 첫 번째 프레임, 연속 프레임, 흐름 제어 프레임의 네 가지 프레임 유형을 정의하여 CAN 네트워크를 통해 데이터를 전송한다. 흐름 제어 프레임은 분할된 전송에서 수신 측의 전송 승인을 확인하고, 연속 프레임 간 간격 및 전송 가능한 연속 프레임 수를 지정한다.
ISO-TP 프로토콜은 데이터 전송을 위해 프로토콜 제어 정보(Protocol Control Information, PCI)를 사용하며, 이는 CAN 메시지의 데이터 필드 앞부분에 위치한다. PCI는 전송되는 데이터의 종류와 상태를 나타내며, 크게 네 가지 프레임 유형으로 구분된다. 각 프레임 유형은 고유한 코드 값을 가지며, 메시지의 길이나 전송 상태에 따라 적절한 프레임 유형이 사용된다.
2. 프로토콜 제어 정보 (PCI) 필드 유형
유형 코드 설명 단일 프레임(SF) 0 최대 7바이트(일반 주소 지정) 또는 6바이트(확장 주소 지정)의 짧은 메시지를 한 번에 전송할 때 사용된다. PCI에는 프레임 유형과 데이터 길이(SF_DL)가 포함된다. 첫 번째 프레임(FF) 1 7바이트(또는 6바이트)를 초과하는 긴 메시지를 여러 프레임으로 나누어 보낼 때, 그 시작을 알리는 프레임이다. PCI에는 프레임 유형과 전체 메시지 길이(FF_DL)가 포함된다. 연속 프레임(CF) 2 첫 번째 프레임(FF) 이후, 분할된 메시지의 나머지 데이터 조각들을 전송하는 데 사용된다. PCI에는 프레임 유형과 순서 번호(Sequence Number, SN)가 포함된다. 흐름 제어 프레임(FC) 3 긴 메시지를 수신하는 측에서 송신 측으로 보내는 응답 프레임이다. 연속 프레임(CF)의 전송 속도와 양을 조절하는 정보를 담고 있다. 예약됨 4..15 현재 사용되지 않고 예약된 코드 값이다.
각 프레임 유형별 PCI 필드의 구조는 다음과 같다. PCI 필드는 CAN 데이터 필드의 첫 번째 또는 첫 두 바이트(FF의 경우)를 차지한다.프레임 유형 비트 오프셋 7..4 (바이트 0) 비트 오프셋 3..0 (바이트 0) 비트 오프셋 15..8 (바이트 1) 비트 오프셋 23..16 (바이트 2) 이후 바이트 단일 프레임 (SF) 0 (유형=SF) 데이터 길이 (0~7) 데이터 A 데이터 B 데이터 ... 첫 번째 프레임 (FF) colspan="2" | 전체 메시지 길이 (8~4095) 데이터 A 데이터 B ... 연속 프레임 (CF) 2 (유형=CF) 순서 번호 (0~15) 데이터 A 데이터 B 데이터 ... 흐름 제어 프레임 (FC) 3 (유형=FC) 흐름 상태 (0,1,2) 블록 크기 (BS) 분리 시간 (ST) (데이터 없음)
CAN FD 환경에서는 더 큰 페이로드를 지원하기 위해 단일 프레임과 첫 번째 프레임의 PCI 구조가 일부 확장되었으나, 기존 ISO 15765-2와의 하위 호환성은 유지된다.
2. 1. 단일 프레임 (Single Frame, SF)
ISO-TP 프로토콜에서 정의하는 프레임 유형 중 하나이다. 단일 프레임(Single Frame, SF)은 전송할 사용자 데이터(페이로드)의 전체 크기가 CAN 버스 데이터 프레임 하나에 모두 담길 수 있을 만큼 작을 때 사용된다. 구체적으로는 최대 7바이트(일반 주소 지정 방식) 또는 6바이트(확장 주소 지정 방식)의 페이로드를 한 번에 전송할 수 있다.
단일 프레임의 프로토콜 제어 정보(Protocol Control Information, PCI)는 1바이트로 구성된다. 첫 4비트는 프레임 유형을 나타내며, 단일 프레임의 경우 이 값은 0이다. 나머지 4비트는 전송되는 페이로드의 실제 길이(1~7바이트)를 나타낸다 (SF_DL).
비트 오프셋 | 7 .. 4 (바이트 0) | 3 .. 0 (바이트 0) | 15 .. 8 (바이트 1) | 23..16 (바이트 2) | .... |
---|---|---|---|---|---|
단일 프레임 (SF) | 0 (유형 = SF) | 크기 (0..7 바이트) | 데이터 바이트 1 | 데이터 바이트 2 | 데이터 바이트 ... |
7바이트 이하의 짧은 메시지를 보낼 때 이 단일 프레임 형식을 사용한다. 첫 번째 바이트의 상위 4비트(유형 필드)가 0이기 때문에, 때로는 단순히 '길이-데이터' 형식으로 이루어진 더 간단한 프로토콜로 잘못 해석되기도 한다. 데이터 길이가 7바이트(또는 확장 주소 지정 시 6바이트)를 초과하는 경우에는 첫 번째 프레임(FF)과 연속 프레임(CF)을 이용한 분할 전송 방식이 사용된다.